package com.example.util;



import java.text.SimpleDateFormat;
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.time.format.DateTimeFormatter;
import java.util.Date;
import java.util.Locale;

public class DateUtil {
    private static final String pattern="yyyy-MM-dd";
//    private static final String pattern1="yyyy-MM-dd HH:mm:ss";
    // 2022-10-31T16:00:00.000Z  返回格式化日期字符串  2022-11-01
    public static String returnDate(String time) {
        if (time.contains("T")) {
            DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'", Locale.ENGLISH);
            LocalDateTime ldt = LocalDateTime.parse(time, df);
            ZoneId currentZone = ZoneId.of("UTC");
            ZoneId newZone = ZoneId.of("Asia/Shanghai");
            time = ldt.atZone(currentZone).withZoneSameInstant(newZone).toLocalDateTime().toString();
        }
        if (time.length() >= 10) {
            return time.substring(0, 10);
        }
        return time;

    }

    /**
     * Date日期转String日期
     * @param date 日期
     *yyyy-MM-dd
     */
    public static String toString(Date date) {

        return new SimpleDateFormat(pattern).format(date);
    }

    /**
     * String日期转Date日期
     * @param date 日期
     *yyyy-MM-dd
     */
    public static Date toDate(String date) throws Exception {
        return new SimpleDateFormat(pattern).parse(date);
    }
    /**
     * String日期转Date日期
     * @param date 日期
     * @param pattern1 字符串 如 yyyy-MM-dd HH:mm:ss
     *yyyy-MM-dd HH:mm:ss
     */
    public static Date toDate(String date ,String pattern1) throws Exception {
        System.out.println(date+"    "+pattern1);
        return new SimpleDateFormat(pattern1).parse(date);
    }

    /**
     * Date日期转String日期
     * @param date 日期
     *@param pattern1 字符串 如 yyyy-MM-dd HH:mm:ss
     */
    public static String toString(Date date ,String pattern1) {

        return new SimpleDateFormat(pattern1).format(date);
    }

}
